package com.wlhse.dao;

import com.wlhse.dto.*;
import com.wlhse.dto.inDto.CheckRecordInDto;
import com.wlhse.dto.inDto.SupervisionScope;
import com.wlhse.dto.outDto.CheckRecordRectRecord;
import com.wlhse.entity.*;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface SupervisionTaskDao2 {
    List<SupervisionTaskPojo2> querryTaskTime(@Param("date") String date, @Param("id") String id);
    List<String> querryCheckLevel();
    List<CheckListPojo2> querryCheckList();
    List<CheckProjectPojo2> querryCheckProject(@Param("listID") String listID);
    List<CheckProjectPojo2> querryCheckItem(@Param("projectCode") String projectCode,@Param("listID") String listID);
    String querryProblemType(@Param("itemCode") String projectCode,@Param("listID") String listID);
    String querryProblemRank(@Param("itemCode") String projectCode,@Param("listID") String listID);
    List<String> querryProblemSourcr();
    String querryProblemGist(@Param("itemCode") String projectCode,@Param("listID") String listID);
    List<SuperVisionTaskDetailPojo> querryTaskDetail(@Param("id") String id);
    List<String > querryTaskCode(SupervisionTaskDto supervisionTaskDto);
    List<SupervisionTaskDetailPojo2> querryStaffTask(List<String> taskCodes);
    List<TaskContentPojo> querryTaskContent(@Param("code") String Code);
    List<CheckTablePojo> querryCheckTable(@Param("code") String Code);
    List<CheckListItemPojo> querryCheckListItemBySearch(@Param("code") String code,@Param("start") String start,@Param("end") String end,@Param("value") String value);
    List<CheckListItemPojo> querryCheckListItem(@Param("code") String code,@Param("start") String start,@Param("end") String end);
    CheckListItemPojo querrtRootItem(@Param("id") String id,@Param("code") String code);
    Integer addActuaInspectionTimes(@Param("code") String Code,@Param("taskitem") String taskitem);
    Integer changeRecordStatus(@Param("code") String Code,@Param("taskitem") String taskitem);
    List<CheckRecordPojo> queryCheckRecordsBySupervisionTaskDetail2ID(@Param("code") String Code,@Param("taskitem") String taskitem);
    String queryRectStatus(@Param("id") String id);
    Integer addRectRecord(List<CheckRecordPojo> checkRecordPojos);
    String querryHazardFactor(@Param("code") String Code);
    Message2 queryUserMessgaer(@Param("id") String id);
    Integer addUserMessager(InMessage2 message2);
    List<CheckListItemPojo> getCause();
    Integer addCause(@Param("code") String code,@Param("name") String name);
    List<EmployeePojo> querySubComEmployee(@Param("code") String code);
    List<HSECheckPerson> querySubComEmployee2();
    List<HSECheckPerson> queryCheckpersonByCode(@Param("companyCode") String companyCode);
    String queryNameByCode(@Param("companyCode") String companyCode);
    List<EmployeePojo> querySubComUserEmployee(@Param("code") String code);
    List<EmployeePojo> queryManageEmployee(@Param("id") String id);
    List<EmployeePojo> directorQuerySubComEmployee(@Param("code") String code);
    List<EmployeePojo> deputyDirectorQuerySubComEmployee(@Param("code") String code);
    List<EmployeePojo> technicalManagerQuerySubComEmployee(@Param("code") String code);
    String queryEmployeeStation(@Param("id") String id);
    String queryCompanyName(@Param("code") String code);
    String queryRodeById(@Param("id") String id);
    Integer queryCheckRecordCountsByID(@Param("id") String id,@Param("record") CheckRecordInDto checkRecordInDto);
    List<CheckRecordRectRecord> queryCheckRecordByID(@Param("id") String id,@Param("record") CheckRecordInDto checkRecordInDto);
    Integer updateCheckRecordByRecordID(CheckRecordDto checkRecordDto);
    CheckRecordDto queryCheckRecordByRecordID(@Param("checkRecordID") Integer checkRecordID);
    Integer countCheckRecord(CheckRecordDto checkRecordDto);
    Integer addActuaInspectionTimes2(CheckRecordDto checkRecordDto);
    Integer deleteCheckRecordByID(@Param("id") String id);
    Integer deleteScopeByStaffID(@Param("id") String id);
    Integer addSupervisionScopes(List<SupervisionScope> supervisionScopes);
    Integer addSupervisionScopes2(List<SupervisionScope> supervisionScopes);
    List<EmployeePojo> queryUserByRoleCode(@Param("code") String code);
    List<DataDictPojo> queryAreaName();
    CheckTablePojo querryCheckListInfo(@Param("code") String code);
    List<CheckListItemPojo> querryCompleteCheckListItem(@Param("code") String code);
    List<DataDictPojo> queryCheckArea();
    List<SuperVisionAreaCompany> queryUntreatedSupervisionArea(@Param("areaID") String areaID
            ,@Param("companyType") String companyType,@Param("staffID") String staffID);
    List<DataDictPojo> queryUntreatedCheckType(@Param("code") String code,@Param("staffID") String staffID);
    Integer updateSupervisionTaskStatus(@Param("code") String code);
    List<SuperVisionAreaCompany> querySupervisionAreaCompanyByArea(@Param("name") String name,@Param("code") String code);
    List<CompanyPojo> queryUntreatedCompaniesByArea(@Param("name") String name,@Param("code") String code);
    List<CompanyPojo> queryUntreatedCompanies();
    Integer deleteSupervisionAreaCompany(@Param("code") String code);
    Integer addSupervisionAreaCompany(List<SuperVisionAreaCompany> superVisionAreaCompanies);
    List<DataDictPojo> queryCheckType();
    List<String> queryCheckRound();
    Integer countProblemRank(CountProblemDto countProblemDto);
    List<String> queryField(@Param("code") String code);
    List<MonthProblemAnalysisPojo> countProblemRankByMonth(CountProblemDto countProblemDto);
    List<CountProblemByWorkingNameDto> countProblemRankByWorkingName(CountProblemDto countProblemDto);

}
